Method and system for defining and using a reference swing for a sports training system

ABSTRACT

A method and system define a reference swing for a sports training system, steps of and structures for forming a humanoid for using a plurality of formulae for defining the movements of a sports implement throughout a swinging motion, while using said plurality of formulae for defining the movements of the golf club throughout a plurality of known positions during the swinging motion. The method and system link said humanoid to said plurality of formulae using a plurality of planes perpendicular to the target line, said target line defined as a line passing through the golf ball to the target. A lower plane relates to the shaft of the sports implement; with a first point and a second point of said lower plane associated at the hosel of the sports implement, and an entry point of the shaft into the head on the sports implement and the swinger&#39;s hands. A middle plane relates to the plane that passes through two points, the center of the sports implement sweet spot and the right elbow of the swinger. A third plane relates to the plane that passed through the toe of the sports implement and the swinger&#39;s shoulder. The reference starting said reference swing starts with the swinger at address and the sports implement shaft on the lower plane. The disclosed subject matter also provides for associating the reference motion with a swinger in real time.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This patent application claims the benefit of U.S. Provisional PatentApplication Ser. No. 60/640,676 filed on Dec. 31, 2004, as well as U.S.Provisional Patent Application Ser. No. 60/591,637 filed on Jul. 28,2004.

This disclosure pertains generally to a sport training system and, moreparticularly, to an intelligent sports club, bat or racket that takesquantitative measurements of a swing for real-time feedback andsubsequent analysis and display, even more particularly, the presentinvention relates to the formulation of a “reference” swing for use insuch a training system.

BACKGROUND

Various inventions are described to assist golfers' efforts to improvetheir swing. One category of devices involves systems of restraints onthe golfer's body or on the club to force the golfer into a more perfectswing. Restraint based systems operate on the premise that by forcing agolfer into a given stance or swing pattern, the golfer will inculcatethe lesson as a form of muscle memory that can then be employed whilegolfing with a standard club. However, a golfer's natural tendency is toresist the restraint system and thereby learn a stance or swing patternpredicated on the presence of the restraint system. In the absence ofthe restraint system, the user's new stance or swing pattern isincorrect.

Other devices attempt to mechanically react to the swing with hingedclubs or moving weights. Mechanically reactive systems provide hinged orweighted systems that react to various qualities of a swing. Forexample, a hinged golf club is specified that stays rigid during thecourse of a good swing, but will collapse under the conditions of a poorclub swing. These devices do not allow the golfer to train with aphysically intact, standard golf club. Also, some of these devices donot allow for actually striking a golf ball during the swing. Onceagain, the golfer is learning swing habits divorced from requirements ofswinging a standard golf club in a standard manner.

Another category of devices is electronic in nature and entirelyexternal to the golf club, typically involving some type of swing motioncapture. These systems typically employ arrays of sensors and camerasconfigured around the golfer. Visualization and analysis of individualframes, as well as slow motion animation of the golf swing are difficultwith conventional video analysis because of the required high framerates. Further, high frame rates require large amounts of data storageand processing power. In some instances, the users must also affixindicators or sensors on their person and/or their club. Theinconvenience and complexity of these externally configured systemsprevent this technology category from gaining widespread appeal in thegolfing community. In addition, because of the nature of these systems,golfers are not able to play a round of golf while using these systems.

A class of electronic devices exists that requires users to mount thedevices on the outside of the shaft of the club. The weight of thesedevices changes the club's swing characteristics and renders swinglessons less meaningful. The externally mounted devices significantlychange the look of the club and may loosen or move on the shaft.

Another class of electronic devices exists that require users to mountdevices on their person. For example, in U.S. Pat. No. 6,048,324, issuedto Socci et al., the specification discloses headgear for detecting headmotion and providing an indication of head movement. An object of thisinvention is to provide players with a device to teach proper ballstriking in a variety of sports including golf by tracking head motion.Devices designed to exclusively monitor a subset of the golfer's motionsdo not adequately capture the various motions required for a human tohit a golf ball. Therefore, these devices cannot precisely predict thepath of the golf club during a swing.

Lastly, in U.S. Pat. No. 6,648,769, issued to Lee et al., a device isdisclosed to capture and analyze data related to a golf club swing. Thisdevice is comprised of electronic components in the distal end of theclub shaft with additional circuitry in the head of the club. Thepresence of components in the modified golf club head degrades theusers' experience by providing a different tone at ball strike.Furthermore, by locating critical components in the club head, theregion of the club which experiences the highest rates of acceleration,the device is more susceptible to mechanical degradation and failure.The club requires a wired link to download swing data to a computingdevice. This wired link is cumbersome for users. Finally, the clubprovides feedback to the user regarding their swing only after data isdownloaded to a computing device. This lack of real-time feedback,during the course of the swing, provides a less meaningful learningexperience to the user.

In such a system, there is the need for a reference swing in that may beemployed in numerous ways, such as in an instrumented golf club, a meansof communicating to a standard computing platform, a standardcomputational platform, such as a PC, and the required control anddisplay software.

BRIEF DESCRIPTION OF THE FIGURES

For a more complete understanding of the present disclosure, and theadvantages thereof, reference is now made to the following briefdescriptions taken in conjunction with the accompanying drawings, inwhich like reference numerals indicate like features.

FIG. 1 shows an instrumented golf club (IGC), which is a component ofthe claimed subject matter;

FIG. 2 shows additional components of the claimed subject matter, i.e. aradio frequency (RF) link box, a universal serial bus cable and acomputing device executing a software program;

FIG. 3 shows a battery recharger designed to be used with the IGC ofFIG. 1;

FIG. 4 shows two views of a club grip incorporated into the IGC, i.e.,an outer view and an expanded inner view;

FIG. 5 shows an exploded view of the top portion of the IGC grip;

FIG. 6 shows three views of an Inertial Measurement Unit (IMU)incorporating the claimed subject matter;

FIG. 7 shows a three-dimensional frame of reference corresponding to theIGC with respect to a three-dimensional frame of reference correspondingto the world;

FIG. 8 shows an exploded view of the RF link box introduced in FIG. 2;

FIG. 9 shows an exemplary swing path data model used to storeinformation collected by the IGC;

FIG. 10 shows an exemplary analysis application 88 graphical userinterface (GUI) that provides a user access to the functionality andconfiguration of the IGC;

FIG. 11 shows an alternative embodiment of the RF link box of FIGS. 1and 8;

FIG. 12 is a flowchart of a Data Collection process associated with theIGC and the System of Golf Swing Analysis and Training (SGSAT);

FIG. 13 is a flowchart of the Process Link Box step of the DataCollection process of FIG. 12 in more detail;

FIG. 14 is a flowchart of the Process Swing step of the Data Collectionprocess of FIG. 12 in more detail; and

FIG. 15 is a flowchart of a Data Display process associated with the IGCand the SGSAT.

DETAILED DESCRIPTION OF THE FIGURES

Although described with particular reference to a golf club and morespecifically to a driver, the claimed subject matter can be implementedin many types of devices. With reference to other golf clubs the claimedsubject matter is applicable to all types of golf clubs, includingirons, fairway woods, wedges, and putters. Another type of sports devicethat may benefit from the claimed subject matter is a racket. All racketsports include tennis, racquetball, squash and badminton. With minorsoftware modifications to the disclosed embodiment, the advantages ofreal-time swing feedback, swing data storage, transmission, and advancedanalysis can be extended to the players of racket sports. Further,additional embodiments may include bats such as those used in baseball,softball, t-ball, cricket, polo, etc. With minor software modificationsto the disclosed embodiment, the advantages of real-time swing feedback,swing data storage, transmission, and advanced analysis could beextended to the players of bat sports.

An additional embodiment may be adapted for use with a video gamecontroller or computer game controller. Real time data transmission froman instrumented game controller allows for real-life swing data to bedirectly fed into any sports video or computer game. In addition, theportions of the disclosed invention can be implemented in software,hardware, or a combination of software and hardware. The hardwareportion can be implemented using specialized logic; the software portioncan be stored in a memory and executed by a suitable instructionexecution system such as a microprocessor, tablet personal computer(PC), or desktop PC.

Several exemplary objects and advantages of the claimed subject matter,described for the sake of simplicity only with respect to a golf club,are as follows:

-   -   Provide a system for capturing, recording, and analyzing data        pertaining to a golf club swing that resides entirely within the        distal end (grip end) of the instrumented golf club;    -   Provide a system for capturing, recording and analyzing data        pertaining to a golf club swing without noticeably modifying the        instrumented club's swing characteristics as compared to the        characteristics of a standard, non-instrumented golf club;    -   Provide a system for capturing, recording and analyzing data        pertaining to a golf club swing without modifying the appearance        or character of the head of the instrumented golf club or the        shaft of the instrumented golf club as compared to a standard,        non-instrumented golf club;    -   Provide a system for capturing, recording and analyzing data        pertaining to a golf club swing such that the instrumented golf        club can be used to strike a standard golf ball in both playing        and practice conditions thereby avoiding swing idiosyncrasies        which may occur when golfers swing in the absence of a golf        ball;    -   Provide a system for users to improve their golf swing without        imposing outside physical restraints or tethers on a golfer and        thereby avoiding the creation of artificial swing habits that        compensate for the outside restraints;    -   Provide a system which generates audible real-time feedback        during the course of a swing thereby allowing a user to        immediately recognize and address poor swing habits;    -   Provide a system which does not require the placement or        utilization of devices affixed to the exterior of a golf club        for capturing, recording, and analyzing data pertaining to a        golf club swing;    -   Provide a system which requires minimal amounts of memory        storage and processing power to allow visualization and analysis        of individual frames as well as slow motion animation of the        golf swing;    -   Provide a system which does not require the placement or        utilization of devices affixed to the golfer's body while        capturing, recording, and analyzing data pertaining to a golf        club swing;    -   Provide a system which does not require the placement or        utilization of devices positioned around the golfer while        capturing, recording, and analyzing data pertaining to a golf        club swing;    -   Provide a system for capturing, recording and analyzing data        pertaining to a golf club swing which allows for subsequent        wireless transfer of single or multiple swing data sets to an        application resident on a computing device for further swing        analysis;    -   Provide a system for capturing, recording and analyzing data        pertaining to a golf club swing which includes highly accurate        club linear acceleration data along 3 orthogonal axes and highly        accurate club angular rate data around said axes and algorithms        sufficient to convert said data into highly accurate club        positioning data;    -   Provide an athlete, or other user, a method of visualizing a        correct motion required for some athletic movement;    -   Enable an athlete to compare their current motion vs. a more        correct motion;    -   Provide an athlete the ability to improve their practice        environment;    -   Provide a system that is capable of being used to provide        sufficient data on any athlete's motion that they may gain        critical insights into what the golf club is doing in their        motion vs. the reference motion;    -   Provide a system that is capable of being used to provide        sufficient data on any athlete's motion that they may gain        critical insights into what the athlete's body is doing in their        motion vs. the model motion;    -   Capture data associated with any critical points in the motion        (i.e. at impact with the ball).    -   Provide a user with a practice environment in which a wide        variety of conditions associated with any athletic movement can        be successfully simulated in order to help the athlete apply        their skills.    -   Provide the athlete with the ability to acquire and view a        graphical depiction of their athletic motion in        three-dimensional space in a PC-based software application for        the purposes of obtaining feedback and suggestions from the        software on how to improve their motion and provide a comparison        to a known, good reference motion to enable the athlete to        visualize what he/she must to do improve their own motion; and    -   Provide the athlete the ability to improve the speed of learning        by creating a more comprehensive learning environment.        Additional exemplary objects and advantages are as follows:    -   Provide a system which allows for extensive, subsequent swing        analysis on a computing device;    -   Provide a system packaged in a sufficiently generic way that        multiple, disparate clubs may be instrumented and therefore        enabled for swing data analysis;    -   Provide a system with an active but dozing mode that increases        battery life and reduces the incidence of non-swing motion        recording; and    -   Provide a system that allows for the transmission of swing data        from the golfer to a second, remote party for second-party        analysis.

Other aspects, objectives and advantages of the claimed subject matterwill become more apparent from the remainder of the detailed descriptionwhen taken in conjunction with the accompanying FIGUREs.

FIG. 1 shows an instrumented golf club (IGC) 18, which is one componentof a System of Golf Swing Analysis and Training (SGSAT) of the claimedsubject matter. Other components of SGSAT include a radio frequency (RF)link box 38 (see FIG. 2) coupled to a computing device 48 (see FIG. 2)and a battery recharger 22 (FIG. 3).

IGC 18 includes a head 34 and a shaft 34, both of which are similar toshafts and heads on a typical golf club. Although illustrated as adriver, head 34 can be any type of golf club, including but not limitedto, an iron, a wedge, a wood and a putter. As mentioned above, theclaimed subject matter is not limited to golf clubs but can be appliedto many types of bats, rackets and game controllers.

Attached to the top of shaft 34 is a grip 30, into which the claimedsubject matter is incorporated. Grip 30 includes a Power On/Mute/PowerOff button 20, a battery recharge connector 28, a battery rechargeconnector cover 22, a grip faceplate 24 and a Flag Swing button 26.

Power On/Mute/Power Off button 20 is pushed once to power on the IGC 18.Once the IGC 18 is powered on, button 20 is pushed to toggle on and offan audio feedback signal that indicates to a user when a particularswing has broken a plane representing a correct swing. To power off theIGC 18, button 20 is pushed in and held for four or more seconds.

Battery recharge connector 28 is a socket into which battery recharger22 is inserted to charge a battery pack 68 (see FIG. 6) within IGC 18.Battery recharge connector cover 22 is a plastic cover that has twoprotruding posts, one of which plugs into connector's 28 socket andkeeps moisture and dirt from entering socket 28 when battery recharger22 is not connected to IGC 18. When IGC 18 requires recharge, cover 22is lifted and rotated around the second protruding post to exposeconnector 28 and battery recharger 22 is inserted into connector 28.Grip faceplate 24 is a finishing piece for an Inertial Measurement Unit(IMU) 53 (see FIGS. 4 and 6) that fits within grip 30. Finally, a flagswing button 26 is pushed when a user desires to mark the datacorresponding to a particular swing of IGC 18 for future investigationusing an analysis application 88 (see FIG. 10) on a computing device 48(see FIG. 2). A saved swing can also become a benchmark, or referenceswing, against which subsequent swings can be compared, includingsetting a reference for the breaking planes sounds.

FIG. 2 shows additional components of SGSAT of the claimed subjectmatter, i.e. Radio Frequency (RF) Link Box 38, a universal serial bus(USB) cable 46 and a computing device 48 that hosts two softwareapplications, one for processing swing data (see FIG. 14) and one forinterfacing with IGC 18 (see FIG. 13). USB cable 46 communicativelycouples computing system 48 and RF Link Box 38 via a USB connector 44.USB cable 46 is used as an example only. One with skill in the computingarts would recognize there are many ways, both wired and wireless, toconnect computing system 48 and RF Link Box 38.

A Power/USB connection light emitting diode (LED) 42 provides indicationof whether or not RF link box 38 is connected to power and computingsystem 48. A club detection data transfer LED 40 provides indication ofwhether or not RF link box 38 is in communication with IGC 18 bylighting up and provides indication of whether data is being transferredbetween IGC 18 and RF link box 38 by blinking. RF link box 38 isdescribed in more detail below in conjunction with FIG. 8.

FIG. 3 shows a battery recharger 22 designed to be used with the IGC 18of FIG. 1. Recharger 22 plugs into IGC 18 at battery recharge connector28 (FIG. 1) and functions to recharge battery pack 68 (see FIG. 6).Recharger 22 includes a plug for connecting recharger 22 to a standardAC power outlet and a transformer to convert AC current into DC current.Recharger 22 is similar to rechargers typically provided in conjunctionwith cordless appliances, wireless telephones, and many other commonhousehold devices.

FIG. 4 shows club grip 30 and an expanded view of a top portion of IMU53, which fits within IGC 18. Battery recharge connector cover 22, gripfaceplate 24, power on/mute/power off button 20 and flag swing button 26were introduced above in conjunction with FIG. 1. As explained above, aprotruding post on battery recharge connector cover 22 fits into gripfaceplate 24 to protect battery recharge connector 28. In addition, gripfaceplate 24 has a cover anchor hole 23, into which a second post oncover 22 is inserted. When inserted into hole 23, friction andcompression between the second protruding post and faceplate 24 securecover 22 against faceplate 24.

Below grip faceplate 24 is an antenna board 50 that is employed inwireless communication between IGC 18 and RF link box 38 (FIG. 2).Antenna board 50 is coupled to a main circuit board 52, which isexplained in more detail below in conjunction with FIG. 6. Illustratedparts 20, 22, 24, 26, 50 and 52 connect together and are coupled to, andpart of, IMU 53, which fits into grip 30. A tab 51 extends from mainboard 52 and serves to secure IMU 53 in a fixed position relative togrip 30. A second, opposing tab (not shown) protrudes from the otherside of main board 52 and also serves to secure IMU 53 in positionrelative to grip 30.

FIG. 5 shows a detailed view of the top portion of IGC grip 30. Twoslots 55 provide space into which tab 51 (FIG. 4) and the secondopposing tab can be positioned to secure IMU 53 within grip 30.

FIG. 6 shows three views of IMU 53 (FIG. 4), i.e. an outer view 101, aninner, exploded view 103 and an inner, assembled view, or assembly, 105.Outer view 101 shows a tube 54 into which assembly 105 fits. Also shownis a screw 56 which secures assembly 105 to tube 54.

Exploded view 103 includes antenna board 50 and a full view of mainboard 52, both of which were introduced above in conjunction with FIG.4. Antenna board 50 is coupled both mechanically and electrically tomain board 52. Also coupled mechanically and electrically to main board52 are a club transceiver chip 78, a sounder 76, an accelgyro board 60and a z-gyro board 62. Also included within tube 54 are a battery pack68, two tube inserts 58, a battery standoff 64, and battery pack wires66.

Club transceiver chip 78, which in this example is a 2.4 GHztransceiver, is responsible for wireless communication between IGC 18(FIG. 1) and RF link box 38 (FIG. 2). Transceiver chip 78 employs aquarter wave monopole antenna (not shown) located on antenna board 50.Sounder 76 provides an audio feedback signal to a user of IGC 18 when aparticular swing falls outside of acceptable parameters.

Screw 56 extends through one wall of tube 54, through one tube insert58, through main board 52, through second tube insert 58 and through theopposite wall of tube 54. Screw 56 serves as a main point of structuralintegrity within IMU 53. In other words, screw 56 and tube inserts 58prevent the various components of assembly 105 from vibrating withintube 54.

IMU 53 employs three solid-state gyroscopes (not shown), such as AnalogDevices' ADXRS300, to measure angular rates around axes C_(X), C_(Y),and C_(Z) (see FIG. 7). A gyroscope located on accel/gyro board 60measures the angular rate of rotation around C_(X), a gyroscope locatedon main board 52 measures the angular rate of rotation around C_(Y), anda gyroscope located on the Z-gyro board 62 measures the angular rate ofrotation around C_(Z). These gyroscopes are configured with a bandwidthof 1500 degrees per second in order to record a typical golf swing,although other bandwidths are possible depending upon the particularapplication. Additional signal conditioning and analog to digitalconversion circuitry (not shown) supports the three gyroscope sensors.

IMU 53 employs two dual-axis accelerometers (not shown), such as AnalogDevices ADXL210e, to measure linear acceleration along axes C_(X),C_(Y), and C_(Z). An accelerometer on main board 52 measures linearacceleration along C_(X) and C_(Z) axes. An accelerometer on accel/gyroboard 60 measures linear acceleration along C_(Y) axis and duplicateddata along the C_(Z) axis. Although one embodiment uses only one channelof the C_(Z) data, another embodiment may compare both channels of C_(Z)data for such benefits as increased accuracy and/or signal noisereduction.

It should be noted that accelerometers can measure both linearacceleration and forces due to gravity. The ability to measure theeffects of gravity allows for the resolution of a gravity vector that ineffect tells IGC 18 which direction is down with respect to thesurrounding world (see FIG. 7).

Also included on main board 52 is a temperature sensor (not shown) forproviding temperature compensation of data from the gyroscopes andaccelerometers because the performance characteristics of the gyroscopesand accelerometers can be affected by temperature. A microprocessor (notshown), on main board 52, is employed as a central processing unit forIGC 18. The microprocessor controls the other components of board 52,collects sensor data, monitors system temperature, corrects sensor datafor temperature related distortion, processes the corrected sensor datainto position, velocity, and acceleration vectors, stores the correctedsensor data in flash memory (not shown) for later download, and performsreal-time collision detection of IGC 18 with respect to the swingplanes, explained below in conjunction with FIG. 7.

Swing data is stored on 8 MB of serial flash memory (not shown) on mainboard 52. One embodiment of the claimed subject matter employsapproximately 72 kB of memory per recorded swing therefore allowing over100 swings to be stored on the flash memory before the flash memory isconsumed. Another embodiment of the claimed subject matter may usehigher quantities of memory that would allow for data captured for ahigher number of swings. In addition, other embodiments may sample fewerdata points per swing, thereby allowing for data to be captured from ahigher number of swings. Furthermore, other embodiments may employ datacompression algorithms to allow for more data to be captured from ahigher number of swings.

Finally, battery standoff 64 provides separation between main board 52and battery pack 68, which provides power for the components of IMU 53.Battery pack 68 is electrically coupled to z-gyro board 62, andtherefore the other components of IMU 53, via battery pack wires 66. Inthis example, battery pack 68 consists of five (5) rechargeable metalhydride cells, although there are many possible configurations. Thepower supply sub-system, which includes battery pack 68 and a voltageregulator (not shown) on main board 52, generates voltage levels asrequired for device components, e.g. 1.8 V, 3.3 V and 5.0 V supplies.

FIG. 7 shows IGC 18 within two three-dimensional, orthogonal frames ofreference, a frame 107 plotted with reference to a typical position forIGC 18 (FIG. 1) and a frame 109 plotted with reference to gravitycorresponding to the world. Frame 107 corresponds to a coordinate systemin which the positive club X-axis is identified as ‘C_(X)’, the positiveclub Y-axis is identified as ‘C_(Y)’ and the positive club Z-axis isidentified as ‘C_(Z)’. Frame 109 corresponds to a coordinate system inwhich the positive world X-axis is identified as ‘G_(X)’, the positiveworld Y-axis is identified as ‘G_(Y)’ and the positive world Z-axis isidentified as ‘G_(Z)’.

During processing of data collected by ICG 18 both frames 107 and 109are applicable. Frame 107 corresponds to a frame of reference formeasurements taken by accelgyro board 60 and Z-gyro board 62 (FIG. 6).Frame 109 corresponds to a frame of reference of a user of IGC 18 and adisplay (not shown) for providing feedback to the user. Those with skillin the mathematical arts can easily convert measurements back and forthbetween frames 107 and 109.

The claimed subject matter builds on the concept of a golfer keepingtheir swing within a region bounded by a “lower swing plane” and an“upper swing plane” (not shown). The lower swing plane passes roughlyfrom the heel of golf club head 36 (FIG. 1) through the golfer's righthand while the golfer is addressing a golf ball. The upper swing planepasses roughly from the toe of the golf club head 36 through thegolfer's right shoulder while the golfer is addressing the golf ball.Most golfers swinging above the lower swing plane and below the upperswing plane will produce a better swing than those swinging outside ofthese planes.

One task of the claimed subject matter is to accurately track themovement of IGC 18 through space over the duration of a swing of IGC 18,and to produce an audible alert if IGC 18 violates the lower or theupper swing plane. To accomplish this task, the IGC 18 uses inertialmeasurement unit 53 (FIGS. 4 and 6) with data sampling fast enough tocapture the dynamics of a golf club swing.

IMU 53 can also be termed a six degrees of freedom inertial measurementunit since it measures linear acceleration along axes Cx, Cy, and Cz(the first 3 degrees of freedom) and it measures angular rate (rotationspeed) around axes Cx, Cy, and Cz (an additional 3 degrees of freedom).Using algorithms known to those well versed in the art of IMUs, the datafrom these six degrees of freedom yield the orientation and position ofIMU 18 as a function of time relative to its initial position. Employingadditional algorithms common to this field, the orientation and positionof all elements of IGC 18 can be calculated given the orientation andposition of the inertial measurement unit 53. Finally with some basicknowledge of a golfer's physical dimensions and common stance, IGC 18determines whether or not a swing has remained within the region definedby the upper and lower swing planes.

FIG. 8 shows an exploded view of RF link box 38 first introduced in FIG.2. A link board 70 is a printed circuit board with the primary functionof facilitating communication between IGC 18 (FIGS. 1 and 7) and asoftware application executed on computing device 48 (FIG. 2). Board 70incorporates a link board transceiver chip 80, which is antenna andtransceiver circuitry sufficient to enable RF communication between RFlink box 38 and transceiver chip 78 (FIG. 6) on main board 52 (FIG. 6)IGC 18. In this example transceiver chip 80 is a 2.4 GHz transceiverthat sends and receives signals on a quarter wave monopole antenna (notshown) on link board 70.

The USB circuitry enables communication with computing device 48 via USBconnector 44 and USB cable 46 (FIG. 2). Computing device 48 hosts asoftware application dedicated to interfacing with IGC 18. Link board 70is enclosed in a link box cap 72 and a link box base 74. Alsoillustrated are power/USB connection LED 42 and club detection datatransfer LED 40, first introduced in FIG. 2.

FIG. 9 shows an exemplary Swing Path data model 82 used to storeinformation collected by IGC 18 (FIGS. 1 and 7) and processed bycomputing system 48 (FIG. 2). Swing path data 82 includes a swing infoheader 84, which stores data related to a particular swing of IGC 18,and multiple swing data elements 86. Each swing data element 86 storesmeasurement information from sensors on main board 52 (FIG. 6) accelgyroboard 60 (FIG. 6) and Z-gyro board 62 (FIG. 6) for a particular momentin time of a particular swing corresponding to swing data header 84. IfSGSAT employs a sampling rate of 2 k Hertz, then there are 2,000instances of swing data element 86 generated for each second that aparticular swing takes, e.g. if a swing takes 2 seconds, there are 4,000instances of swing data element 86 generated for that particular swing.

Swing info header 84 includes a swing info identifier (ID), whichuniquely identifies a particular swing, a club ID, which identifies aparticular club used for the swing, a swing start timestamp, whichstores a start time for the swing, a swing duration data element, whichstores data on how long the swing took from beginning to end, a swingflagged data element, which indicates whether or not the user hasindicated that the corresponding swing is of special interest for lateruse and analysis, and a temperature data element, which stores theambient temperature from a temperature sensor on main board 52 (FIG. 6)for use in analyzing output from the accelerometers and gyroscopes (FIG.6). The user sets the Swing Flagged data element by pushing flag swingbutton 26 (FIG. 4), typically following a particularly good swing.

Each swing data element 86 includes a swing info ID, which enables aparticular swing data element 86 to be associated with a particularswing info header 84, a sequence number, which indicates an ordering ofmultiple swing data elements 84 associated with a particular swing infoheader 86, and various data elements corresponding to measurements takenfrom main board 52, accelgyro board 60 and Z-gyro board 62.

An X-axis accelerometer data element corresponds to a measurement ofmovement in the C_(X) axis (FIG. 7) of IGC 18 taken from anaccelerometer on accelgyro board 60. A Y-axis accelerometer data elementcorresponds to a measurement of movement in the C_(Y) axis (FIG. 7) ofIGC 18 taken from the same accelerometer on accelgyro board 60 thatmeasures the C_(X). A Z-axis accelerometer data element corresponds to ameasurement of movement in the C_(Z) axis (FIG. 7) of IGC 18 taken fromthe second accelerometer on main board 52.

An X-axis gyroscope data element corresponds to a measurement of angularrotation around the C_(X) axis of IGC 18 taken by the gyroscope locatedon accel/gyro board 60. A Y-axis gyroscope data element corresponds to ameasurement of angular rotation around the C_(Y) axis of IGC 18 taken bythe gyroscope located on main board 52. A Z-axis gyroscope data elementcorresponds to a measurement of angular rotation around the C_(Z) axisof IGC 18 taken by the gyroscope located on Z-gyro board 62.

Swing path data model 82 illustrates one particular format for storingdata generated by IGC 18. Those with skill in the computing arts shouldappreciate that there are other ways to store the data as well as otherdata, and corresponding data structures, employed by IGC 18 and SGSAT.For example, computing system 48, or in an alternative embodiment IGC18, converts linear acceleration and angular rate measurements intoorientation and position information, which also require particular datastructures.

FIG. 10 shows an outline for exemplary graphical user interface (GUI),or “analysis application,” 88 that provides a user an interface to IGC18 and SGSAT. One with skill in the programming arts should easilyunderstand how to program analysis application 88. A flowchart 113 foranalysis application 88 is described below in conjunction with FIG. 13.

Analysis application 88 offers extensive golf swing related analyticsusing swing path data 82 (FIG. 10), which is collected from IGC 18(FIGS. 1 and 4) by a data collection process 200, described in detailbelow in conjunction with FIG. 12, stored on computing device 48 (FIG.3), and processed by a data display process 250, described in moredetail below in conjunction with FIG. 13. In an alternative embodiment,analysis application 88 employs orientation and position data, derivedfrom swing path data 82.

Specific swing path data 82 records are displayed in a swing recordpanel 90. Swing record panel 90 also displays previously downloadedswing path data 82 records. Records 82 displayed in swing record panel90 can be constrained and filtered using functionality located in aswing record filter panel 92. Swing record filter panel 92 enables auser of GUI 88 to limit displayed records by time stamp and othercharacteristics. Swing path data 82 records are selected by the user inswing record panel 90 and then loaded by the analysis application 88into other constituent panels of analysis application 88.

Once a swing path data 82 record has been selected by the user, the usercan view an animated reconstruction of the swing in swing viewing panels94, 96, and 98. Analysis application 88 enables visualization andanalysis of individual frames of the swing, of slow motion and real-timeanimation of the golf swing, and of pre-set key points of the swing suchas at address, the top of the swing, ball impact, etc. Animationcontrols are located in a swing replay control panel 102. Pre-set keypoints of the golf swing are accessed through a swing key point controlpanel 104. The animated swing can be viewed from multiple, differentsimultaneous perspectives in panels 94, 96, and 98, for example front,side, and top-down.

The Analysis application 88 uses Inverse Kinematics to animate a humanFIGURE and give context to the golf swing visualization. A specificalgorithm commonly referred to as Cyclic Coordinate Descent is used toallow the position and orientation of swing path data 82 records todrive the state of a simplified human skeleton viewable in swing viewingpanels 94, 96, and 98. Another tool provided by analysis application 88is the display of upper and lower swing planes during swingvisualization.

Analysis application 88 provides the ability to compare a golfer's swingto a reference swing. This reference swing can be derived from severalsources. For example, analysis application 88 can create an idealreference swing based on a user's physical characteristics, a previouslyrecorded swing from another golfer, such as a touring professionalgolfer, or the user can designate one of their best personal swings asthe reference swing. The overlaying of a swing with a reference swingduring replay and visualization provides additional analysis context andallows the golfer to analyze their swing for flaws and strengths.

Beyond visual analysis, analysis application 88 offers extensive primaryanalytics derived from a swing path data 82 record. These analytics aremainly presented in tabbed windows within the swing analytics panel 106and within context sensitive analytics panel 100. Analytics include, butare not limited to, the following examples:

-   -   Shaft 34 (FIG. 1) Angle at Key Points in the Swing    -   Address Line—The position of the club shaft 34 at address, which        is perpendicular to the target line    -   Club 18 (FIGS. 1 and 4) Face Position at Key Points in the Swing    -   Club Head 36 (FIG. 1)/Hands Position at Key Points in Swing    -   Club Head 36 Speed and Acceleration    -   Arc Inscribed by Hands and Club Head 36    -   Angles of Backswing planes, Transition planes, and Downswing        planes    -   Angle of Attack on the Ball (the club head 36 angle prior to        ball impact)    -   Estimated Ball Flight Distance    -   Time of Pause at Top of Swing    -   Club head 36 Drop at Beginning of Downswing    -   Estimated Wrist Angle/Cock Angle at Top of Swing    -   Maximum rate of Acceleration on Downswing/Rate of acceleration        at impact    -   Point in downswing of highest velocity    -   Lag Distance (distance the butt of club 18 is from the address        line when club 18 is parallel to the earth on a downswing.)    -   Lag Angle (angle at which club 18 is, relative to the address        line, when the butt of club 18 is some preset distance from the        address line on a downswing.)    -   Coil Angle (measurement of the rotation of club 18 at its        furthest point from address during backswing)    -   Estimated Launch Angle of the Ball    -   Type of Spin Imparted to the Ball    -   Escape Velocity of the Ball    -   Angle of incidence (club head 36 path at impact versus target        line at address)    -   Impact Point on the club 18 face.

Additional analytics that combine information from multiple, primaryanalytics are available in analysis application 88. Examples ofcomposite analytics include, but are not limited to, the following:

Quality of Release

Uses acceleration at impact combined with shaft 34 lean at impact todetermine the quality of the timing of the release.

Tempo

This analytic scores the smoothness and rhythm of a golf swing.Smoothness will be determined by any rapid/unexpected accelerations anddecelerations during a backswing and downswing. Rhythm will bedetermined by looking at the time during the backswing versus the timeduring the downswing.

Divergence from Reference Swing (Quality of Swing) Analysis application88 allows for the comparison of a recorded golf swing to a referenceswing. This reference swing can be, but is not limited to, a referenceprofessional swing, a previously recorded user swing, or a swingrecorded from another golfer. Analysis application 88 can tell the userwhere a given swing moves an unacceptable distance away from thereference swing.

Analysis application 88 provides for data transmission with otherinstallations (not shown) of analysis application 88 over the internetor other communication medium. The ability to share swing path data 82records allows for one user to record data regarding their swing andthen transmit the data to a second user for further visualization andanalysis. The second user can annotate swing path data 82 records withcomments and then transmit the annotated files to their originator. Theability to transmit annotated data between users allows for remoteinstruction and feedback.

FIG. 11 shows an alternative embodiment 39 of RF link box of FIGS. 2 and8. Like RF link box 38, RF link box 39 includes a link board 70, a linkboard transceiver chip 80, USB circuitry (not shown), a USB connector44, a USB cable 46 (not shown), a link box cap 72, a link box base 74, apower/USB connection LED 42 and club detection data transfer LED 40.

In addition, RF link box 39 includes a display screen 116 and a controlpanel 72. Display screen provides portable access to analysisapplication 88 (FIG. 10) as well as providing information on IGC 18 andSGSAT configuration. The user manipulates analysis application 88 andcon FIGUREs IGC 18 and SGSAT via control panel 72.

In an alternative embodiment, computing device 48 may be incorporatedinto a wearable computer and a display may be incorporated into a pairof glasses so that a user can receive nearly instantaneous feedbackduring a game or practice. Currently, such computing devices anddisplays are available on the market.

FIG. 12 is a flowchart of a data collection process 200 associated withIGC 18 and SGSAT. Processing starts in a “Begin Operate IGC” step 201,which is initiated when a user presses power on/mute/power off button 20(FIGS. 1 and 4) of IGC 18 (FIGS. 1 and 4). Prior to the initiation ofprocess 200, IGC 18 is in an “Off” state, during which IGC 18 is in avery low power mode where all components are off and the centralprocessing unit (CPU) clock is stopped. The CPU is configured to wakewhen the user presses power on/mute/power off button 20 or when batteryrecharger 32 (FIG. 3) is inserted into battery recharger connector 28(FIG. 1).

From step 201, control proceeds immediately to an “Initialize SGSAT”step during which process 200 initializes the central processing unit(CPU), memory, buttons 20 and 26 and temperature sensor of IGC 18. Inaddition, process 200 initiates a beep from sounder 76 (FIG. 6) so thatthe user can check sounder's 76 functionality and checks both batterypack 68 and the availability of an RF connection with RF link box 38(FIGS. 2 and 8). If the RF connection is available, indicating that RFlink box 38 and computing device 48 are on-line, then LEDs 40 and 42(FIGS. 2 and 8) are flashed so that the user has an indication of thecondition of SGSAT. It should be noted that IGC 18 is able to operateand collect data without a RF connection available. Data transfer andprocessing can occur off-line at a more convenient time.

Following step 203, control proceeds to a “Wait For Input or Event” step205 during which IGC 18 is in a “Doze” state. In this state, IGC 18performs periodic checks for the presence of RF link box 38, todetermine whether or not IGC 18 should transition to an “At Address”state and to determine if power on/mute/power off button 20 has beendepressed for a period of four (4), indicating that the user wishes toreturn IGC 18 to the Off state. These periodic checks are illustrated bya transition of control by process 200 through a “Link Box Detected?”step 207, an “Address Detected?” step 211 and an “Off Signal Detected?”step 215. In Doze state and during the periods between At Addresschecks, most IMU 53 (FIGS. 4 and 6) devices are powered down in order toconserve power of battery pack 68.

In the absence of detected events, as indicated by the “No” paths ofsteps 207, 211 and 215, the transition through steps 207, 211 and 215occurs every 100 ms. During step 207, IGC 18 powers up club transceiverchip 78 (FIG. 6) to check for the presence of RF link box 38. If RF linkbox 38 is detected, then control proceeds to a “Process Link Box” step209, which is described in more detail below in conjunction with FIG.13. Following step 209, control returns to step 205 and processingcontinues as described above. In, in step 207 RF link box 38 is notdetected, then control proceeds to “Address Detected?” step 211.

During step 211, process 200 takes acceleration readings from Cz and Cxaxes (FIG. 7) accelerometers (FIG. 6), resolves the angle of the gravityvector, and reads an angular rate from the Cx axis gyroscope (FIG. 6) todetermine a lack of rotation. If IGC 18 determines that IGC 18 is beingheld in a upright manner consistent with the stance of a golfer prior toa swing and that IGC 18 is not being swung or moving around the Cx axis,IGC 18 moves from the Doze state into the At Address state and controlproceeds to a “Process Swing” step 213, which is described in moredetail below in conjunction with FIG. 14. Following step 213, controlreturns to step 205 and processing continues as described above. If, instep 211, IGC 18 does not detect that the user is addressing the ball,then control proceeds to Off Signal Detected? step 215.

During step 215, IGC 18 determines whether or not power on/mute/poweroff button 20 has been pressed for a sustained period of time, e.g. four(4) seconds. If not, then control returns to 205 and processingcontinues as described above.

If power on/mute/power off button 20 has been pressed for a sustainedperiod of time, then control proceeds to a “Power Down” step 217, duringwhich IGC 18 takes actions necessary to return to the Off state inwhich, as described above, IGC 18 is in a very low power mode where allcomponents are off and the central processing unit (CPU) clock isstopped. Finally, control proceeds from step 217 to an “End Operate IGC”step 229 in which process 200 is complete.

It should be noted that, although process 200 is described here as a“polling” process, process 200 could also be engineered as an event orinterrupt driven process. Those with skill in the computing arts shouldappreciate the both the advantages and disadvantages of the differentapproaches.

FIG. 13 is a flowchart of Process Link Box step 209 of Data Collectionprocess 200 of FIG. 12 in more detail. As explained above, step 209 isentered when IGC 18 detects a request from the corresponding RF link box38.

Step 209 starts in a “Begin Process Link Box” step 231 and proceedsimmediately to a “Request for Data?” step 233 during which process 200determines whether or not the signal from RF link box 38 is a datadownload request. If so, control proceeds to a “Download Data” step 235during which IGS 18 enters a “RF Download” state and transmits storedswing path data 82 (FIG. 9) to the computer application on computingsystem 48 (FIG. 2) via RF link box 38, through the USB connector 44(FIG. 2), through the USB cable 46 (FIG. 2), and finally to analysisapplication 88 (FIG. 10). In an alternative embodiment, swing path data82 is processed by the microprocessor of IGC 18 and data correspondingto the orientation and position of IGC 18, rather than the linearacceleration and angular rate of IGC 18, are transmitted from IGC 18 toRF link box 38.

Once data 82 has been downloaded, control proceeds to an “End ProcessLink Box” step 249 in which step 209 is complete. In addition, IGA 18returns to the Doze state.

If process 200 determines in step 233 that the signal from RF link box38 is not a data download request, then control proceeds to an “UpgradeFirmware?” step 237 during which process 200 determines whether or notthe signal from RF link box 38 is a request to upgrade the flash memoryand/or the memory of the microcontroller located on main board 52 (FIG.6) of IGC 18. If so, control proceeds to a “Flash Memory” step 239during which the firmware of IGC 18 is updated. Control then returns toEnd Process Link Box step 249 and processing continues as describedabove. Step 239 corresponds to a Flash Upgrade state of IGC 18, which isentered only from an RF Download state.

Finally, if in step 237, process 200 determines that the RF signal isnot a RF update request, then control proceeds to step 249 andprocessing continues as described above.

FIG. 14 is a flowchart of Process Swing step 213 of Data Collectionprocess 200 of FIG. 12 in more detail. Step 213 begins in a “BeginProcess Swing” step 251 and control proceeds immediately to a “Wait forMotion” step 253 during which IGC 18 periodically samples all gyroscopesand accelerometers simultaneously every 0.0005 seconds, for a samplingrate of 2 kHz. At this point, IGC 18 is still in the At Address state.

After each sample, control proceeds to a “Sufficient Rotation” step 253during which IGC 18 calculates the rotational rate of the club aroundthe C_(X) axis and thereby determines whether or not IGC 18 has startedswinging. If the rotation rate does not exceed the threshold, thencontrol proceeds to a “Timeout” step 257 during which IGC 18 determineswhether or not IGC 18 has been at the At Address state for longer than apredetermined amount of time. If so, control proceeds to an “End ProcessSwing” step 269 in which step 213 is complete. If the predeterminedperiod of time has not been exceeded, then control returns to step 251and IGC 18 waits for another sample.

If, in step 255, the rotation rate around the C_(X) exceeds the setthreshold rate, IGC 18 enters a “Swinging” state and control proceeds toa “Sample Sensors” step 259. During step 259, IGC 18 samples allgyroscopes and accelerometers and stores the swing generated sensor data82 to flash memory. As explained above in conjunction with FIG. 9, swingdata collected by IGC 18 is stored as swing path data 82 comprised ofswing info header 84 with multiple swing data elements 86. Swing infoheader 84 contains information such as initial timestamp, swingduration, swing flag status, and temperature. Each sampling IGC 18sensors is stored in a swing data element file 86. Each swing dataelement file 86 contains data regarding accelerations along C_(X),C_(Y), and C_(Z) axes and angular rate data around C_(X), C_(Y), andC_(Z) axes. Therefore, for a given swing, there exists a one-to-manyrelationship between swing info header 84 record and the multiple swingdata element 86 records.

The described embodiment of the claimed subject matter employs a fixedsampling rate, i.e. 2 kHz. Therefore, given the initial timestamp and afixed time between samples, a swing path can be chronologicallyrecreated. IGC 18 also monitors its position with respect to the upperand lower swing planes. While in the Swinging state, if club head 36(FIG. 1) breaks either the upper or lower swing planes, sounder 76 (FIG.6) produces an audible tone. This audible feedback can be toggledbetween a sound on and a sound off, or mute, configuration by brieflydepressing power on/mute/power off button 20.

After each sampling interval, control proceeds from step 259 to a “TimeExceeded?” step 261 during which process 200 determines whether moretime has elapsed than necessary to complete a swing of IGC 18. If so,control proceeds to a “Write Data” step 265 during which the datasamples captured during iteration through step 259 are copied to andstored in a memory. IGC 18 then returns to a Doze state and controlproceeds to an “End Process Swing” step 269 in which step 213 iscomplete.

If, in step 261, process 200 determines that the swing has not exceededthe maximum allowable time, then control proceeds to an “InsufficientRotation?” step 263 during which process 200 determines whether or notIGC 18 is moving sufficiently fast to still be considered in the processof a swing. IGC 18 determines the end of the swing by monitoring themoving average of rotation vector magnitude. The magnitude of therotation vector is calculated by taking the square root of the sum ofthe squared values of angular rate around the C_(X), C_(Y), and C_(Z)axes. If the moving average falls below a set threshold the swing isdeclared complete and control proceeds to Write Data step 265 andprocessing continues as described above. If, in step 263, process 200determines the swing is still active, i.e. the moving average is abovethe threshold, then control returns to step 259 and more data samplesare collected as described above.

FIG. 15 is a flowchart of a data display process 300 associated with IGC18 and the SGSAT. Process 300 starts in a “Begin Display Data” step 301that is initiated when computing device 48 (FIG. 2) is turned on andanalysis application 88 (FIG. 10) is launched. Power from computingdevice 48 is employed to power RF link box 38 (FIG. 2) via USB cable 46(FIG. 2). Control proceeds to an “Update Data” step 303 during which auser is provided an interface (not shown) for adding, editing and/orupdating a user profile. If necessary, the user profile is alsoreconciled, or “synced,” with data from IGC 18 (FIGS. 1 and 4).

Following updating of the user profile in step 303, if performed,control proceeds to a “Application Patch Required?” step 305 duringwhich process 300 determines whether or not a later version of analysisapplication 88 is available for download. If an application patch isavailable, control proceeds to a “Download Application Patch” step 307during which the corresponding patch is downloaded and applied toanalysis application 88. Those with skill in the computing arts shouldknow of different methods of notifying an application that an upgrade isavailable and of applying the patch to analysis application 88.

If an application patch is either unavailable in step 305 or downloadedand applied in step 307, control proceeds to a “Firmware (FW) PatchAvailable?” step 309 during which process 300 determines whether or nota later version of process 200 (FIGS. 12-14), or IGC 18 firmware, isavailable for download. If a firmware patch is available, controlproceeds to a “Download FW Patch” step 311 during which thecorresponding patch is downloaded and applied to the flash memory of IGC18. Step 311 on computing device 48 corresponds to Upgrade Firmware step237 and Flash Memory step 239 explained above in conjunction with FIG.13. In other words, if a firmware patch is available in step 309, thenevents are triggered on computing device 48 that cause IGC 18 to executesteps 237 and 239.

If a firmware patch is either unavailable in step 309 or downloaded andapplied in step 311, control proceeds to a “Collect IGC Data” step 313during which analysis application 88 signals IGC 18 via RF link box 38and collects any data collected by IGC 18. Step 313 corresponds toRequest For Data? step 233 and Download Data step 235 of process 200. Inother words, step 313, executed on computing device 48, causes IGC 18 toexecute steps 237 and 239.

From step 313, control proceeds to a “Share Swing Data? step 315 duringwhich process 300 determines whether or not there is a signal to exportuser profile and/or swing data to another application. If such a signalis present, then control proceeds to an “Export Swing Data” step 317during which user profile and/or swing data is transmitted to anotherSGSAT application. As explained above in conjunction with FIG. 10, SGSATprovides for data transmission with other instantiations of SGSAT. Theability to share swing path data allows one user to record dataregarding their swing and then transmit the data to a second user forfurther visualization and analysis. The second user can annotate swingpath data with comments and then transmit the annotated files to theiroriginator. The ability to transmit annotated data between users allowsfor remote instruction and feedback.

If there is either no signal to export in step 315 or data is exportedin step 317, control proceeds to a “Display Data” step 319 during whichprocess 300 via analysis application 88 provides the user with visualfeedback. Two examples of visual feedback include, but are not limitedto, swing analytics and swing visualization. Swing analytics includessuch information as the quality of impact with a golf ball, thecorresponding geometric planes of the swing, a projected distance, theconsistency among multiple swings and other advanced analytics. Swingvisualization includes such information as multiple views of aparticular swing, replay of a swing at various speeds and the viewing ofspecific segments of a swing.

Finally, control proceeds to an “End Display Data” step 339 in whichprocess 300 is complete.

In addition to the above-described features and functions of the presentinvention, there here provided a reference swing, which may be used inany “stick & ball” or similar game or in other comparable, athleticmovements. The present embodiment includes the use of the referenceswing in relation to a golf swing. However, the reference swing equallyapplies to other sporting activities. The reference swing includes theuse of a humanoid figure, various mathematical formulae employed innumerous ways, a ‘reference’ swing, an instrumented golf club, a meansof communicating to a standard computing platform, a standardcomputational platform, such as a PC, and the required control anddisplay software.

The humanoid figure can be composed with varying levels of detail, suchas a ‘stick-figure’, wire frame figures or complete graphical images ofthe human figure. The humanoid figure may be male, female or genderneutral, with its movement modeled based on the known art at the time.An example would be to use a combination of professionals in the fieldas models and experts in the field for input into the required bodymovement of the humanoid.

The ‘reference’ swing of the humanoid is constructed in one of threeways. First, the humanoid is constructed to use the most mechanicallyefficient use of the golf club that is currently known. This isaccomplished by defining a set of formulae that define the movements ofthe golf club throughout the swing, or alternatively constructing amodel that passes through known positions during the golf swing. Themovement of the humanoid is linked to the mathematical model of themechanically efficient movement of the golf club.

The most efficient swing is one that can be best defined by the use ofthree planes, all of which are perpendicular to the target line. Thetarget line is defined as a line passing through the golf ball to thetarget. The lower plane is defined as being the plane is defined by theshaft of the golf club, with two points at the hosel of the club Theentry point of the shaft into the head on any golf club and the golfer'shands. The middle plane is defined as the plane that passes through twopoints, the center of the golf club's sweet spot and the right elbow ofthe golfer. The third plane is defined as the plane that passed throughtwo points, the toe of the club and the golfer's right shoulder. Themost efficient swing starts with the golfer at address and the club'sshaft on the lower plane.

As the swing starts the club's shaft stays on the lower plane until theclub is parallel to the earth's surface, or the 90 degree position fromaddress. At this point the golfer's swing will traverse multiple planesuntil it is either on, or just below, the upper plane with the golfclub's shaft parallel to the upper plane and acceleration of the club isequal to zero, roughly 270 degrees from the address position. From thispoint the golfer ‘transitions’ to the downswing, with the golf clubcrossing multiple planes until it is on, with the club's shaft parallel,to the middle plane. At this point the golfer rotates his body andcompletes the swing with the club staying on this middle plane tocompletion of the follow through.

Second, the user may choose to use a ‘personal best’ motion as thereference motion. This is accomplished by electronically flagging anexceptionally good result when using the instrumented golf club anddownloading the same into the display software. Third, the user maychoose to use a known professional in the sport to provide the desiredreference motion. This is accomplished by a download from a web sitethat has such reference motions stored for such use.

Data is gathered for use with the relative learning system from aninstrumented golf club, as discussed in prior art and above. Themovement of the golf club is sampled at rates that are fast enough toinsure that the movement of the stick can be recreated at any point. Anexample might be to sample a 2 second movement at a rate of one sampleevery 500 microseconds, resulting in 4000 samples during the course ofthe 2 second movement. Data is transferred to the standard computingplatform after one or more movements. Data transfer could be eitherwireless or via a standard PC interface, such as a USB interface.

Once the data is transferred to the standard computing platform the datafrom the movement of the learner's golf club is overlaid on the humanoidwith one of the available ‘reference motions’. Scaling of the dataeliminates physical differences between the humanoid figure and thelearner. This is accomplished by matching the X axis of the user's datato the X axis of the motion made by the humanoid making the mostmechanically efficient motion. This changes the motion in an absolutefashion, but does not change the relative information about the movementmade by the learner. The display shows the humanoid figure with thereference golf club and the golf club of the user overlaid on the samedisplay.

The display and control software will enable the user to view themovement of the humanoid in three dimensions and multiple views, such asa top view, side view and front view. Standard capabilities includelooping, slow-motion and numerous pre-defined positions that arecritical to fully understanding the required movement. With appropriatecontrol software the user would be able to customize the way thehumanoid is viewed to fit their particular preference with a ‘camera inspace’ capability. The humanoid, with the appropriate golf clubrepresents the model that the learner is trying to emulate.

Use of the invention entails ‘playing the data’ captured by theinstrumented golf club through the model and comparing the ‘referencemotion’ with the motion made by the learner. This is accomplished byutilizing preset positions defined on the model, enabled by formulaethat analyze and divide the learner's data into corresponding positionsand segments. Timing and tempo of the learner's motion can also bematched to the humanoids motion.

The key analysis points of the golf swing are (1) address, (2) top ofswing, and (3) impact. Because the vibration occurring at impact,analysis is substantially limited after the impact point. That is,measurement occurring after impact, due to vibration, are unreliable.The primary purpose of the address analysis is to determine theorientation of the club. Using mathematical induction, the address pointmay be considered as the n=0^(th) position. By analyzing thegravitational orientation at the address position, it is possible todetermine the other points in the algorithmic process for the purpose ofdetermining all other points of interest in the golf swing.

In the address point determination gravitational analysis, it isdesirable to have the golf club as fixed or motionless as possible. Thisis because at such a point the player is addressing the golf ball inpreparation for taking the golf swing. This address point can serve asthe orientation for the swing analysis that the present embodimentaccomplishes. The present invention seeks to align the bore which holdsthe IMU and so as to be parallel in its alignment with the club face inthe direction in which the ball will be hit. Thus, with the ability todetermine the position of the IMU and the at-address position it ispossible to determine a set of vectors that change and permit themeasurement of club head position as the swing progresses. Aligning theIMU with the address position using a gravity vector permits inferringthat the clubface is square. Thus, these two parameters of the positionof the IMU and the at-address position permit determining theorientation of the golf club.

Another consideration relating to the use of the at-address positionincludes the ability to determine the position of an origin to be thelocation of the golf ball. The present embodiment divides the golf swinginto segments, including super-segments and sub-segments. Through thesesegments it is possible to identify an “address segment,” a “backswingsegment,” a “downswing segment,” and a “follow-through segment.” Withineach of these super-segments are an appropriate number of sub-segments.Thus, for example, at the address segment a set of sub-segments mayinclude a segment beginning with an initial preparation and continuinguntil motion stops or, at least, goes to a minimum level of motion. Asecond segment begins at such a stopped motion state to player's takingthe club away from the ball as the backswing begins. segment. Othersub-segments relating to the backswing, downswing, and follow-throughsegments could be partitioned and analyzed accordingly.

The following explanation of the address algorithm details how thepresent embodiment enables these novel aspects of the present invention.

The top of swing position is determined by analyzing the point at whichthe angular weight during the backswing segment of a swing goes to aminimum. At impact a shocking vibration determines the point at whichthe club head impacts or hits the ball. With the present embodiment, themeasure of vibration is set to that which would occur upon the club headstriking a whiffle-ball. This low threshold assures that the swinganalysis will occur with at least this level of vibration and that theimpact point analysis can occur. Of course, with a more precisedetermination of the golf ball location, using the concepts forat-address and golf ball orientation already described, it may bepossible to avoid the need to use the whiffle-ball vibration thresholdanalysis for determining the ball impact point.

FIG. 16 depicts the address point isolation process 450 of the presentembodiment. Address algorithm 450 begins at step 452 for finding thenarrowest parameter set where an interval during address qualifies as“at-address.” At query 454, a test occurs of whether there is a sectionof at least a predetermine number (X) of consecutive points that qualifyas “at-address.” If not, then process flow continues to step 456 whereinthere is a determination of whether a wider parameter set exists. If theresult of the query of step 456 is negative, then process flow continuesto step 458 wherein the process result is that no address position isfound. On the other hand, if the step 456 returns a positive result,then process flow goes to step 460 to obtain a wider parameter set,after which process flow goes to back to the query of step 454.

If the step 454 query result is positive, then process flow for addressalgorithm 450 goes to step 462 wherein the process chooses the latestsection of a predetermined number (X) of consecutive at-address points.The next step 464 finds the “best” address points within a stationarysection. Then, process flow goes to the query of step 466 to testwhether there is another section of intervals with at least apredetermined number (X) consecutive “at-address” points? If so, then,at step 468, process flow includes checking for a better address pointwithin the other section. Then, if a better address point exists, atstep 470, such point is selected as the address. Finally, with either(a) the better address point determined at step 470 or (b) the existingaddress point as determined at step 464, process flow continues to step472 to provide the address algorithm 450 output of a returned addressposition.

The present embodiment provides the ability to synchronize a referencepro swing with a user's swing as sensed the intelligent golf club. Thisprocess involves physically scaling the reference swing to the user'sswing and using the analytical processes herein described for thepurpose of identifying certain segments and sub-segments in the user'sswing. By identifying the segments, it is possible to match thereference swing with the user's swing time. This permits thedetermination of position differences between the reference swing andthe user's swing. These position differences define portions of theuser's swing that vary most significantly from the same portions of thereference swing. In essence, by temporally matching a reference swingwith a user's swing it is possible to remove from the analysis anycomplications or comparison challenges that may relate to timingmismatches between the two swings.

By matching similar sub-segments between the reference swing and theuser's swing, the process of the present embodiment involves scaling thetime segments for similar sub-segments to be the same. Thus, forexample, the total time for each of the reference swing and the user'sswing is normalized to be from 0 to 1. The scaling then, for example, ifa first sub-segment of the reference swing occurs between 0.0 and 0.2,then the recording of the user's swing will have the same firstsub-segment set to be between 0.0 and 0.2. That is, by compressing orexpanding the time interval associated with corresponding sub-segmentsor segments of either the reference swing, the user's swing or both, itis possible to filter from the comparison the temporal element of thedifferent swings.

The demonstration of the correspondence between the reference swing andthe user's swing may be via a display that overlays the reference swingwith the user's swing such as the user swing display appearing at FIG.17.

The following terms and definitions are herein provided for the purposeof illustration and not for limitation. There may be other equivalentdefinitions for the terms herein provided and any used for explanatoryor demonstrative purposes. Accordingly, it is only by reference toappended claims that the scope of the present invention and the variousembodiments herein is and can be limited. However, because of theirbeneficial ability to establish the novel concepts of the presentinvention they are here provided.

Terms and Definitions.

Inertial measurement unit (IMU)—A term ascribed to a sensor grouping ofthree accelerometers and three gyroscopes aligned along mutuallyperpendicular axes. (Term may be more general than this, but theliterature I read was consistent about it.) This is sometimes referredto as a six-degree-of-freedom measurement unit.

Frame-of-reference (FoR)—Physics term used to describe a system within asystem. For example, when a golfer rides in a car, golfer is motionlessin the golfer's frame of reference, while the world appears to movearound the golfer. In the present embodiment, a FoR has its owncoordinate system, so the IMU FoR has a set of coordinate axes fixedrelative to it.

Square clubface—This situation occurs when the face of the club is linedup so that the normal vector is along the target line.

Neutral address position—At-address, a club is positioned so that theclubface is square and the shaft is leaning neither towards the targetnor away from the target.

World FoR—The world frame of reference has a set of coordinate axes withthe following definitions:

-   -   X-axis—the direction a right-handed golfer faces    -   Y-axis—the target line of the golf shot    -   Z-axis—up    -   Origin—at the center of the golf ball

Club FoR—Coordinate axes given a neutral address position for the club:

-   -   Z-axis—up center of club shaft    -   X-axis—“top” of club grip; should lie in world XZ plane in a        neutral address position    -   Y-axis—points towards target (should be parallel to world y-axis        is a neutral address position)    -   Origin—fixed distance from top of board    -   g—acceleration due to gravity, approximately 9.8 m/s².        Determining Key Positions

Address Position. There are two different components of address. Thepresent embodiment needs the address position that allows the system todetermine best the orientation of the club. The present embodiments needthe address position to derive a representation of a best point for thetrue start-of-swing.

By necessity, the present embodiment needs to use raw data readings todetermine initial orientation. This is because trying to use anythingother than acceleration readings and angular rate readings is asequencing problem. That is, the present embodiment preferablydetermines velocity with the determined orientation information. To bemore specific, an iterative method would allow this, but would be veryexpensive and would have errors.

The firmware triggers recording of a swing in such a way that there isan 800-millisecond window during which the swing will have begun. Thiswindow is referred to in places below.

First Address Component—Gravity Vector

In order to establish the correct initial orientation, the presentembodiment needs a period of low motion during address to obtain anaccelerometer reading that is mostly due to the gravity vector. When theIMU is stationary, the only measurements reported by the IMU arepreferably will be acceleration due to gravity (and noise/other datainaccuracies). For this reason, the present embodiment requires thegolfer to bring the club to a rest at some point during the address.

Determine club is in a valid address orientation. The present embodimentdetermines the club is being moved into address by the individualaccelerometer readings. The present embodiment knows the basic range ofreadings for each accelerometer that indicate the club is oriented as ifto address the ball. Therefore, minima and maxima for each accelerometerare kept as properties, and are used to determine that the golfer istrying to address the ball.

Club motionless. When the sensors register their lowest levels ofmovement, the present embodiment have the best chance to have anaccurate reading of the direction of gravity. The present embodimentdetermines this by checking that the magnitude of the accelerationvector is close to g, while the magnitude of the angular rate vector isclose to zero. Due to calibration errors and noise, the presentembodiment control these using sets of parameters that start out tightand gradually expand. The present embodiment iterates through theseparameter sets to look for the best possible points first, and graduallymove to the wider sets until a range of valid points is found thatqualify as motionless. The minimum size for this range is controlled byparameter.

Determining Orientation—Once the present embodiment has a low-motionpoint at-address, the present embodiment has a vector representingacceleration due to gravity. However, the gravity vector is notsufficient for establishing a coordinate system. Specifically, a gravityvector is sufficient for determining the inclination of the IMU, but isnot sufficient for establishing the coordinate axes for the IMU FoR. Tounderstand this, picture a set of coordinate axes in the world FoR. Thegravity vector will produce the angle of the IMU relative to vertical,but the present embodiment has no idea how to “twist” the orientationaround the world z-axis. Therefore, the present embodiment needs moreinformation.

The present embodiment obtains this information by assuming that thegolfer squares the clubface. By assuming a square clubface, the presentembodiment can determine the target line of the golf club (world FoRy-axis) and therefore extrapolate the twist of the unit about the worldz-axis.

Error concerns—Four sources of error affect the ability to calculateorientation from address:

Sensor noise—this results in gravity vectors that are not precisely 9.8m/s² and misalignments in the direction of the gravity vector.

IMU orientation within the club shaft. The shaft keeps the IMU almostperfectly vertical, to the point where the present embodiment don'tworry about it, but even a small amount of twist within the shaft cancontribute significant error.

User alignment of the clubface. It is very easy to set up with theclubface off by one or two degrees from the direction the golfer istrying to swing.

Measurement errors. The face of a club head is curved, which complicatesthings. In addition, the present embodiment has yet to use sophisticatedequipment to determine completely accurate measurements.

Determining the best interval for calculating orientation. Because ofthe measurement errors, the present embodiment determines the mostaccurate orientation when the club addresses the ball in a“hands-neutral” position, with the hands neither in front of nor behindthe clubface. This is because, in this position, the face of the IMUwithin the club is close to parallel to the clubface and is close tovertical, so errors are minimized.

For that reason, the present embodiment wants to find the verticalposition during the address window for establishing the orientation ofthe IMU. This implies a y-accelerometer reading that is as close to zeroas possible. So, the present embodiment iterate through the pointslooking for stable accelerometer readings with consistently lowy-accelerometer readings. The present embodiment needs to establishconsistency to avoid selecting a point that happens to spike into thecorrect range due to noise and to avoid selecting a point that occursduring movement. The present embodiment do this by ensuring there are Xnumber of points that meet the parameter set, where X is anotherparameter. To obtain the lowest possible y-accelerometer reading, thepresent embodiment iterate through a series of parameter sets. Thesesets include y-accelerometer minima and maxima that gradually widen.

Second Address Component—Because the present embodiment is looking for acertain orientation of the club, the algorithm will often pick a pointtoo early in the address window. Picking a point too early can onlyresult in displaying a lack of motion or part of the golfer's addressroutine that does not matter. This is obviously uninteresting to thegolfer, and it makes the scaling of the first segment of the swing a bitawkward (an animated reference swing will be ahead of the user's swing,while two different swings displayed side-by-side can have the sameproblem). Therefore, it is in the interest to pick a later “motionless”point as the start-of-swing to eliminate these problems. The presentembodiment does this in the following manner.

The present embodiment starts from the end of the 800-ms address window,where the present embodiment knows the swing has begun, barring afirmware problem. (Note: the only thing resembling a firmware problemhere is that the present embodiment occasionally record waggles, butthese are weeded out other ways.) Therefore, the present embodiment canbacktrack from the end of the interval and watch two key sensors: they-accelerometer and the x-gyroscope. Most right-handed swings experiencestrongly negative y-accelerometer and x-gyroscope readings during thebackswing. So, the present embodiment look for these negative readingsand track back until the present embodiment both of these readings tendtowards zero. The present embodiment also looks for the points thatqualify as at-address and try to pick an interval within a stable set ofpoints that seem motionless. Theoretically, the first set of motionlesspoints should contain the start-of-swing, but there are scenarios thatcan foil this idea.

Once the present embodiment implements start-of-swing checking, theat-address algorithm will change to find the address point and thestart-of-swing. The present embodiment will establish the initialorientation at the address point, and then carry only the orientationcalculations through to the start-of-swing. Since the present embodimentis establishing an early orientation in many cases, the presentembodiment will have more information at the disposal. It is possible tocalculate position and velocity values from the address point, and useposition change to determine the best start of swing location.

Top of Swing—The top-of-swing detection aspect of the present embodimentdetermines the point where the club's angular rotation drops to aminimum in an area likely to show the top-of-swing. The latter part is alittle more difficult to define. Essentially, a window can beestablished around the actual top-of-swing based upon angular ratemagnitudes. Every swing that the present embodiment has seen exceeds acertain angular rate magnitude on the backswing and downswing.Therefore, the present embodiment can define a top-of-swing windowaround the values that are less than that magnitude. The next step is tofind the minimum angular rate within that window. Although other stepsmay be involved, the inventive concepts herein may be established bythese two steps.

Yet further novel aspects associate with determining impact. Currently,the present embodiment searches the area beyond the top-of-swing fordetectable impact vibration over a series of intervals. This process canbe broken into sub-processes, and the implementation may vary from whatis described to improve performance.

Determine if accelerometer is experiencing vibration. The presentembodiment does not look for a spike in accelerometer data. A casualexamination of typical accelerometer data during a swing reveals arelatively smooth trend during the swing. However, at impact, thevibration causes the reading to spike significantly over consecutiveintervals, resulting in a strong spike at the beginning followed by agradual dampening of the spiking as the vibration dissipates. Anaccelerometer is considered to experience vibration under one of twoconditions:

-   -   There is a significant change in acceleration. This is        controlled via a parameter.    -   There is a significant but smaller change in acceleration        coupled with a reversal in direction. A smaller acceleration        change sometimes appears outside of a vibration point, but a        reversal with this type of change indicates it is caused by        vibration.

Determine if a data point is experiencing vibration. One novel aspect ofdetermining vibration relates to the value read by the accelerometer issomewhat random during vibration. Vibration causes an acceleration spikethat oscillates back and forth around the true value of acceleration atthe frequency of the vibration. Depending on where the accelerometerreading is taken, the offset caused by vibration can be anywhere fromthe maximum of the spike to the minimum of the spike. In other words, ifthe spike oscillates between 10 and −10 m/s², the actual acceleration xwill produce a final value of between x−10 and x+10, depending on themoment the acceleration is measured. Therefore, it is possible vibrationwill produce no noticeable change between certain intervals.

As such, the present embodiment needs to be a little liberal indeclaring a point as vibrating: two of the three accelerometersexperiencing vibration is enough to declare the point is experiencingvibration.

Determine if a section of data is experiencing vibration. For thereasons explained in the previous section, the present embodiment needsto continue to be a little loose about the requirements for impact. Tofind impact, the swing iterates through data points and looks for afixed-length section where a certain number of data points areconsidered vibrating. If this is the case, the point before the startinginterval is considered the impact point. This is because it takesapproximately ⅔ of a millisecond for vibration to travel from the clubhead up to the IMU, so the actual impact point is likely one intervalprior to start of vibration.

Parameters. Parameters for impact include:

-   -   Length of section to be examined for vibration    -   Number of data points within the section that must be considered        vibrating to be considered impact    -   Large acceleration value to indicate vibration in an        accelerometer    -   Small acceleration value to indicate vibration in an        accelerometer assuming a spike

These parameters were determined via experimentation with a whiffleball, as values that work with a whiffle ball will certainly work withany other type of ball that is struck.

All references, including publications, patent applications, andpatents, cited herein are hereby incorporated by reference to the sameextent as if each reference were individually and specifically indicatedto be incorporated by reference and were set forth in its entiretyherein.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing embodiments of the invention (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. Recitation ofranges of values herein are merely intended to serve as a shorthandmethod of referring individually to each separate value falling withinthe range, unless otherwise indicated herein, and each separate value isincorporated into the specification as if it were individually recitedherein.

All methods described herein can be performed in any suitable orderunless otherwise indicated herein or otherwise clearly contradicted bycontext. The use of any and all examples, or exemplary language (e.g.,“such as”) provided herein, is intended merely to better illuminateembodiments of the invention and does not pose a limitation on the scopeof the invention unless otherwise claimed. No language in thespecification should be construed as indicating any non-claimed elementas essential to the practice of the invention.

Preferred embodiments of this invention are described herein, includingthe best mode known to the inventors for carrying out the invention.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate, and the inventors intend for the invention to be practicedotherwise than as specifically described herein. Accordingly, thisinvention includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the invention unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications, andpatents, cited herein are hereby incorporated by reference to the sameextent as if each reference were individually and specifically indicatedto be incorporated by reference and were set forth in its entiretyherein.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing embodiments of the invention (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. Recitation ofranges of values herein are merely intended to serve as a shorthandmethod of referring individually to each separate value falling withinthe range, unless otherwise indicated herein, and each separate value isincorporated into the specification as if it were individually recitedherein. All methods described herein can be performed in any suitableorder unless otherwise indicated herein or otherwise clearlycontradicted by context. The use of any and all examples, or exemplarylanguage (e.g., “such as”) provided herein, is intended merely to betterilluminate embodiments of the invention and does not pose a limitationon the scope of the invention unless otherwise claimed. No language inthe specification should be construed as indicating any non-claimedelement as essential to the practice of the invention.

Preferred embodiments of this invention are described herein, includingthe best mode known to the inventors for carrying out the invention.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate, and the inventors intend for the invention to be practicedotherwise than as specifically described herein. Accordingly, thisinvention includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the invention unlessotherwise indicated herein or otherwise clearly contradicted by context.

1. A method for defining a reference swing for a sports training system,comprising the steps of forming a humanoid for using a plurality offormulae for defining the movements of a sports implement throughout aswinging motion; using said plurality of formulae for defining themovements of the golf club throughout a plurality of known positionsduring the swinging motion; linking said humanoid to said plurality offormulae using a plurality of planes perpendicular to the target line,said target line defined as a line passing through the golf ball to thetarget, wherein: a lower plane relates to the shaft of the sportsimplement; with a first point and a second point of said lower planeassociated at the hosel of the sports implement, and an entry point ofthe shaft into the head on the sports implement and the swinger's hands;a middle plane relates to the plane that passes through two points, thecenter of the sports implement sweet spot and the right elbow of theswinger; and a third plane relates to the plane that passed through thetoe of the sports implement and the swinger's shoulder; and startingsaid reference swing starts with the swinger at address and the sportsimplement shaft on the lower plane.